Composite Data Types: RECORD, TABLE, VARRAY

Database Tutorials - পিএল/এসকিউএল (PL/SQL) PL/SQL এর ডেটা টাইপ এবং অপারেটরস |
145
145

PL/SQL-এ Composite Data Types হল এমন ডেটা টাইপ যা একাধিক ভ্যালু ধারণ করতে পারে। এগুলি একাধিক ভেরিয়েবলকে একটি গ্রুপের মধ্যে সংরক্ষণ করতে সহায়ক। তিনটি প্রধান Composite Data Types হল: RECORD, TABLE, এবং VARRAY। এগুলি সম্পর্কে বিস্তারিত নিচে দেওয়া হল।


১. RECORD (রেকর্ড)

RECORD হল একটি user-defined composite data type, যা একাধিক ভেরিয়েবল (যা বিভিন্ন ডেটা টাইপের হতে পারে) একত্রে ধারণ করতে ব্যবহৃত হয়। এটি একটি অবজেক্টের মতো কাজ করে, যেখানে বিভিন্ন প্রপার্টি থাকে। রেকর্ড ব্যবহার করে, আপনি একাধিক মানকে একটি একক ডেটা টাইপে সংগ্রহ করতে পারেন।

রেকর্ড ডিক্লেয়ারেশন:

DECLARE
   TYPE employee_record IS RECORD (
      employee_id NUMBER(6),
      employee_name VARCHAR2(50),
      hire_date DATE
   );

   v_employee employee_record;  -- Variable to store employee data
BEGIN
   -- Assigning values to the record fields
   v_employee.employee_id := 101;
   v_employee.employee_name := 'John Doe';
   v_employee.hire_date := TO_DATE('2020-01-15', 'YYYY-MM-DD');

   -- Displaying the record fields
   DBMS_OUTPUT.PUT_LINE('Employee ID: ' || v_employee.employee_id);
   DBMS_OUTPUT.PUT_LINE('Employee Name: ' || v_employee.employee_name);
   DBMS_OUTPUT.PUT_LINE('Hire Date: ' || TO_CHAR(v_employee.hire_date, 'YYYY-MM-DD'));
END;

রেকর্ডের বৈশিষ্ট্য:

  • আপনি একাধিক ভেরিয়েবলকে একটি রেকর্ডে সংরক্ষণ করতে পারেন।
  • প্রতিটি ফিল্ডের ডেটা টাইপ আলাদা হতে পারে।
  • রেকর্ডের ফিল্ডগুলি অ্যাক্সেস করতে . (ডট) অপারেটর ব্যবহার করা হয়।

রেকর্ডের ব্যবহার:

  • RECORD ব্যবহার করে, আপনি একাধিক সম্পর্কিত ডেটাকে একত্রিত করতে পারেন। যেমন, একজন কর্মচারীর আইডি, নাম এবং নিয়োগ তারিখকে একটি রেকর্ডে সংরক্ষণ করতে পারেন।

২. TABLE (টেবিল)

TABLE হল একটি nested table টাইপ, যা একাধিক মান (ডেটা) ধারণ করতে পারে। এটি একাধিক একক মান ধারণ করার জন্য ব্যবহৃত হয়। সাধারণত, যখন একটি ডেটা টাইপের একাধিক মান প্রয়োজন হয়, তখন TABLE ব্যবহার করা হয়।

টেবিল ডিক্লেয়ারেশন:

DECLARE
   TYPE number_table IS TABLE OF NUMBER;  -- Declaring a table of numbers
   v_numbers number_table := number_table(10, 20, 30, 40, 50);  -- Initializing with values
BEGIN
   -- Accessing elements of the table
   FOR i IN 1..v_numbers.COUNT LOOP
      DBMS_OUTPUT.PUT_LINE('Number ' || i || ': ' || v_numbers(i));
   END LOOP;
END;

টেবিলের বৈশিষ্ট্য:

  • TABLE টাইপ একাধিক উপাদান ধারণ করতে সক্ষম।
  • এটি indexed by integer (অথবা অন্য কোনো ধরনের কী) হতে পারে।
  • TABLE এর মধ্যে মানগুলি একসাথে পরিচালনা করা যায়।

টেবিলের ব্যবহার:

  • এটি ব্যবহার করে আপনি একটি ভেরিয়েবল, যা একটি সিরিজ বা তালিকা ধারণ করতে পারে, তৈরি করতে পারবেন।
  • এটি বড় পরিমাণের ডেটা সংরক্ষণ এবং পরিচালনা করতে সহায়ক।

৩. VARRAY (ভ্যারিয়েবল অ্যারে)

VARRAY হল একটি fixed-size array, যা সীমিত সংখ্যক উপাদান ধারণ করতে সক্ষম। VARRAY এর মধ্যে উপাদানগুলি সাজানো থাকে এবং একটি নির্দিষ্ট সাইজ থাকতে হয়। এটি এমন ডেটার জন্য উপযুক্ত, যেখানে আপনি জানেন যে উপাদান সংখ্যা সীমিত এবং সেগুলি একটি নির্দিষ্ট সীমার মধ্যে থাকবে।

VARRAY ডিক্লেয়ারেশন:

DECLARE
   TYPE number_varray IS VARRAY(5) OF NUMBER;  -- Declaring a VARRAY of size 5
   v_numbers number_varray := number_varray(1, 2, 3, 4, 5);  -- Initializing with values
BEGIN
   -- Accessing elements of the VARRAY
   FOR i IN 1..v_numbers.LIMIT LOOP
      DBMS_OUTPUT.PUT_LINE('Number ' || i || ': ' || v_numbers(i));
   END LOOP;
END;

VARRAY এর বৈশিষ্ট্য:

  • VARRAY হল একটি fixed-size array, যার মধ্যে উপাদান সংখ্যা নির্দিষ্ট থাকে।
  • এটি INDEXED দ্বারা অ্যাক্সেস করা হয় (অর্থাৎ, ইন্ডেক্সের মাধ্যমে উপাদান পাওয়া যায়)।
  • একটি VARRAY একসাথে একটি নির্দিষ্ট সাইজের উপাদান ধারণ করে এবং সাইজ পরিবর্তন করা যায় না।

VARRAY এর ব্যবহার:

  • এটি ব্যবহার করা হয় যেখানে উপাদান সংখ্যা একটি নির্দিষ্ট সীমা পর্যন্ত থাকবে এবং তার উপর ভিত্তি করে ডেটা প্রসেস করা যাবে।

RECORD, TABLE, এবং VARRAY এর মধ্যে পার্থক্য

বৈশিষ্ট্যRECORDTABLEVARRAY
ডেটা টাইপএকাধিক ভেরিয়েবল মিশ্রিত ডেটাএকাধিক উপাদান ধারণকারী তালিকাএকাধিক উপাদান ধারণকারী অ্যারে
সাইজআনলিমিটেড (নির্দিষ্ট সীমা নেই)অনির্দিষ্ট সাইজ (কাউন্ট ব্যবহার)নির্দিষ্ট সাইজ (সীমাবদ্ধ)
ডেটা অ্যাক্সেস. (ডট) অপারেটর দ্বারাইন্ডেক্স ব্যবহার করেইন্ডেক্স দ্বারা (যেমন: v_numbers(i))
প্রধান ব্যবহারসম্পর্কিত তথ্য সংরক্ষণএকাধিক উপাদান ধারণ (ডায়নামিক)সীমিত সংখ্যক উপাদান ধারণ
ডেটার ধরনবিভিন্ন টাইপের ডেটা একত্রিত করাএক ধরনের ডেটা (সমস্ত উপাদান একই টাইপের)এক ধরনের ডেটা (সমস্ত উপাদান একই টাইপের)

সারাংশ

PL/SQL এর Composite Data Types (RECORD, TABLE, এবং VARRAY) আপনাকে একাধিক ডেটা উপাদানকে একত্রে সংগঠিত করতে এবং সংরক্ষণ করতে সহায়ক করে। আপনি যদি একাধিক ভিন্ন ধরনের তথ্য (যেমন নাম, বয়স, ঠিকানা) সংরক্ষণ করতে চান, তবে RECORD ব্যবহার করবেন। যদি আপনাকে ডাইনামিক ডেটা তালিকা বা সেট তৈরি করতে হয়, তবে TABLE এবং যদি আপনাকে একটি নির্দিষ্ট সীমার মধ্যে অ্যারে তৈরি করতে হয়, তবে VARRAY ব্যবহার করতে হবে।

Content added By
Promotion